Modern real-time audio and/or video data transmission systems include an encoder to encode an audio or video input stream into transmittable data, a data channel for transmitting the encoded data, and a decoder for decoding the transmitted data and re-creating the audio or video stream at a receiver. Because simply encoding the input stream would result in an extremely large data file, typical encoders also compress the audio or video data to make a smaller data file to be transmitted.
Timely transmission of time-sensitive data, such as real-time audio and video, where slow moving or incomplete video or audio is easily perceived, is difficult to achieve. One problem is that, because of bandwidth constraints of the data channel, it takes a relatively long time to send quality images from the transmitter to the decoder. In many applications, having a large time delay is unacceptable.
Encoding compound images, which are images that contain different types of sub-images or text within a single image frame, is especially difficult because an encoding process that works well with one particular type of sub-image may not work well with other types.
Present encoders typically operate well at a fixed or moderately fixed compression level. For instance a particular encoder may encode a series of frames very well when compressing them to a high degree to meet a low data transmission requirement, but not compress them very well when the data transmission requirements are more relaxed.
Rate scalable coding is a type of coding that uses the same procedures for coding an image or series of images to a desired one of a number of ending data rates. The coding procedures are applied at different strengths based on the desired ending datarate. Using rate scalable coding for compound images is especially difficult. Previous rate scaling systems that compress photographic images (non-compound images) are not equipped to adequately compress a compound-image source. Previous compression systems that are equipped to compress a compound-image source are not adequately equipped to be rate scaleable.
A further problem exists in that data coders, especially encoders and decoders for video data, are typically complicated and require a large amount of computation power to adequately compress and decompress images. There is a large market for coding systems that are less expensive than current systems, but reducing the cost of coding systems almost necessarily requires that the ability to perform complex operations be reduced. Performing coding operations that can maintain good quality while also using less computing power remains an elusive goal.
The present invention addresses this and other problems associated with the prior art.